'use strict';

module.exports = app => {
  return class extends app.Controller {
    * index(ctx) {
        const query=ctx.request.query;
        const wechatId=ctx.request.header.wechatid;
        var pageParams;
        if(query.pageParams){
            pageParams =JSON.parse(ctx.request.query.pageParams);
            if(!pageParams.order){
                pageParams.order=[['createdAt','DESC']];
            }
        }else {
            pageParams={
                pageNum:1,
                pageLimit:6,
                pageTotal:0,
                order:[['createdAt','DESC']]
            }
        }
        var offset=(pageParams.pageNum - 1) * pageParams.pageLimit;
        var items=yield ctx.model.Menu.findAndCount({where:pageParams.where,limit:pageParams.pageLimit,offset:offset,order:pageParams.order});
        pageParams.pageTotal=Math.ceil(items.count/pageParams.pageLimit);
        yield ctx.body={
            data:items.rows,
            pageParams:pageParams
        };
    }
    * destroy(ctx){
        let id=ctx.params.id;
        let result=yield ctx.model.Menu.destroy({where:{id:id}});
        if(result>0){

            ctx.body={
                message:"删除成功"
            }
        }else {
            ctx.status=405;
            ctx.body={
                message:"删除请稍后"
            }
        }

    }
    * create(ctx){
        let body=ctx.request.body;
        body.wechatId=ctx.admin.wechatId;
       let data=yield ctx.model.Menu.create(body);
       if(data){
           ctx.body={
               message:"新增成功！"
           }
       }
    }
    * show(ctx){
        let id=ctx.params.id;
        let banner=yield ctx.model.Menu.findById(id);
        ctx.body=banner;
    }
      * update(ctx){
          let body=ctx.request.body;
          let data=yield ctx.model.Menu.update(body,{where:{id:body.id}});
          if(data){
              ctx.body={
                  message:"修改成功！"
              }
          }
      }
  };
};
